package vcp.server.utility.timedecision;

import vcp.enums.TimeChoose;

public abstract class TimeDecision
{
	public static TimeDecision createTimeDecision ( TimeChoose time )
	{
		TimeDecision timeDecision = null;
		switch ( time )
		{
			case Day:
				timeDecision = new TimeDecisionDay();
				break;
			case Hour:
				timeDecision = new TimeDecisionHour();
				break;
			case Minute:
				timeDecision = new TimeDecisionMinute();
				break;
		}
		return timeDecision;
	}

	protected TimeDecision ()
	{
	}

	public abstract long getUser24HourComplaintNotificationDelay ();

	public abstract long getUser24HourComplaintNotification ();

	public abstract long getEndDayReservationCleanUpTaskDelay ();

	public abstract long getEndDayReservationCleanUpTask ();

	public abstract long getEndWeekStatisticsTaskDelay ();

	public abstract long getEndWeekStatisticsTask ();

	public abstract long getReservedLotReminderTaskDelay ();

	public abstract long getReservedLotReminderTask ();

	public abstract long getEndOfSubscriptionTaskDelay ();

	public abstract long getEndOfSubscriptionTask ();

	public abstract int getIncreamentalInterval ();

	public abstract long getEndDayStatisticsTaskDelay ();

	public abstract long getEndDayStatisticsTask ();
}
